package com.cskaoyan.javase.oop2.final9.variable.reference4;

/**
 * @description: final修饰引用数据类型
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 *
 *
 */
public class Demo {
    public static void main(String[] args) {
        //final修饰引用数据类型
        final Hero h = new Hero("盖伦", 28);
        //这里表示的是引用成为了一个常量，表示该引用指向的对象地址不可变了
        //Cannot assign a value to final variable 'h'
        //h = new Hero("test",18);
        //但是这个引用指向的对象的状态（成员变量的取值）是可以变的
        h.name = "蛮王";
        System.out.println(h.name);
    }
}

class Hero {
    String name;
    int age;

    public Hero() {
    }

    public Hero(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
